/*
============================================================================
 Name        : BlockSetParam.h
 Author      : \x{738b}\x{658c}
 Version     :
 Copyright   : \x{76ca}\x{76df}\x{8f6f}\x{4ef6}
 Description : CBlockSetParam declaration
============================================================================
*/

#ifndef BlockSetParam_H
#define BlockSetParam_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>
#include "Block.h"
#include "Control.h"
// CLASS DECLARATION

/**
*  CBlockSetParam
* 
*/
class CBlockSetParam : public CBlock
{
public:
	~CBlockSetParam();

	static CBlockSetParam* NewL(CBaseBlock* bsBack);

	static CBlockSetParam* NewLC(CBaseBlock* bsBack);

	CBlockSetParam(CBaseBlock* bsBack);

private:
	void ConstructL();

public:
	//from CBlock
	void OnDraw(CFbsBitGc& g)const;

	void OnKeyEvent(const TInt& keyCode);

	void SizeChanged();
	
	void OnMouseUp(const TPoint& aPt);
	
	void OnInput(const TDesC8& strInput);

protected:
	void BeforeDraw(CFbsBitGc& g) const;

private:
	TInt m_nIndSize;
	TInt m_nIndCurrent;
	TInt m_nCurrent;
	TInt m_pnSize[9];
	TInt16 m_pnParam[30];


	RPointerArray<CControl> m_Ctrls;
	CSelectBox* m_selBox;
	CSingleLineTextInput* m_input1;
	CSingleLineTextInput* m_input2;
	CSingleLineTextInput* m_input3;
};

#endif // BlockSetParam_H
